package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.util.Date;

import com.wyzz.hr.pojo.InmatchModel;
import com.wyzz.hr.pojo.Iodef;

public abstract class BaseInmatchModel implements Serializable {

	public BaseInmatchModel() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseInmatchModel(String immId) {
		hashCode = 0x80000000;
		setImmId(immId);
		initialize();
	}

	public BaseInmatchModel(String immId, Iodef immIo, String immName,
			String immInputType, Integer immNoTitle, Integer immImportMode,
			Integer immDefault, Date immCreateTime, Date immLastChangeTime,
			String immLastChangeBy, String immCreateBy) {
		hashCode = 0x80000000;
		setImmId(immId);
		setImmIo(immIo);
		setImmName(immName);
		setImmInputType(immInputType);
		setImmNoTitle(immNoTitle);
		setImmImportMode(immImportMode);
		setImmDefault(immDefault);
		setImmCreateTime(immCreateTime);
		setImmLastChangeTime(immLastChangeTime);
		setImmLastChangeBy(immLastChangeBy);
		setImmCreateBy(immCreateBy);
		initialize();
	}

	protected void initialize() {
	}

	public String getImmId() {
		return immId;
	}

	public void setImmId(String immId) {
		this.immId = immId;
		hashCode = 0x80000000;
	}

	public String getImmName() {
		return immName;
	}

	public void setImmName(String immName) {
		this.immName = immName;
	}

	public String getImmDesc() {
		return immDesc;
	}

	public void setImmDesc(String immDesc) {
		this.immDesc = immDesc;
	}

	public String getImmInputType() {
		return immInputType;
	}

	public void setImmInputType(String immInputType) {
		this.immInputType = immInputType;
	}

	public Integer getImmNoTitle() {
		return immNoTitle;
	}

	public void setImmNoTitle(Integer immNoTitle) {
		this.immNoTitle = immNoTitle;
	}

	public Integer getImmImportMode() {
		return immImportMode;
	}

	public void setImmImportMode(Integer immImportMode) {
		this.immImportMode = immImportMode;
	}

	public Integer getImmDefault() {
		return immDefault;
	}

	public void setImmDefault(Integer immDefault) {
		this.immDefault = immDefault;
	}

	public Date getImmCreateTime() {
		return immCreateTime;
	}

	public void setImmCreateTime(Date immCreateTime) {
		this.immCreateTime = immCreateTime;
	}

	public Date getImmLastChangeTime() {
		return immLastChangeTime;
	}

	public void setImmLastChangeTime(Date immLastChangeTime) {
		this.immLastChangeTime = immLastChangeTime;
	}

	public String getImmLastChangeBy() {
		return immLastChangeBy;
	}

	public void setImmLastChangeBy(String immLastChangeBy) {
		this.immLastChangeBy = immLastChangeBy;
	}

	public String getImmCreateBy() {
		return immCreateBy;
	}

	public void setImmCreateBy(String immCreateBy) {
		this.immCreateBy = immCreateBy;
	}

	public Iodef getImmIo() {
		return immIo;
	}

	public void setImmIo(Iodef immIo) {
		this.immIo = immIo;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof InmatchModel))
			return false;
		InmatchModel inmatchModel = (InmatchModel) obj;
		if (null == getImmId() || null == inmatchModel.getImmId())
			return false;
		else
			return getImmId().equals(inmatchModel.getImmId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getImmId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getImmId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public static String REF = "InmatchModel";
	public static String PROP_IMM_IO = "immIo";
	public static String PROP_IMM_INPUT_TYPE = "immInputType";
	public static String PROP_IMM_LAST_CHANGE_BY = "immLastChangeBy";
	public static String PROP_IMM_DESC = "immDesc";
	public static String PROP_IMM_ID = "immId";
	public static String PROP_IMM_IMPORT_MODE = "immImportMode";
	public static String PROP_IMM_NAME = "immName";
	public static String PROP_IMM_CREATE_TIME = "immCreateTime";
	public static String PROP_IMM_DEFAULT = "immDefault";
	public static String PROP_IMM_NO_TITLE = "immNoTitle";
	public static String PROP_IMM_LAST_CHANGE_TIME = "immLastChangeTime";
	public static String PROP_IMM_CREATE_BY = "immCreateBy";
	private int hashCode;
	private String immId;
	private String immName;
	private String immDesc;
	private String immInputType;
	private Integer immNoTitle;
	private Integer immImportMode;
	private Integer immDefault;
	private Date immCreateTime;
	private Date immLastChangeTime;
	private String immLastChangeBy;
	private String immCreateBy;
	private Iodef immIo;

}
